#include <Arduino.h>
#include <Wire.h>
#include "global/GData.h"
#include "hardware/button.h"
#include "hardware/led.h"
#include "task/myTask.h"
#include "global/GObject.h"
#include "task/timer.h"
#include "net/ESP_NOW.h"
#include <esp_wifi.h>

//接口初始化
void setup_interface() {
    Serial.begin(115200);                  // 初始化串口，波特率115200
    Wire.begin(OLED0_SDA, OLED0_SCL);      // 初始化I2C引脚
    oled0.begin(u8g2_font_wqy14_t_gb2312); // 初始化OLED

    espNowManager.begin(communication_mac, true, encryption_key);           // 初始化ESP-NOW 使用加密
}

void setup() {
    setup_interface();  // 接口初始化
    Task_init();        // 任务初始化
    Timer_init();       // 定时器初始化

#ifdef configCHECK_FOR_STACK_OVERFLOW
    Serial.printf("Stack overflow check enabled (method %d)\n", configCHECK_FOR_STACK_OVERFLOW);
#else
    Serial.println("Stack overflow check disabled");
#endif
}

void loop() {
    // 主循环留空，FreeRTOS接管任务调度
    vTaskDelete(NULL); // 删除主loop任务（可选，释放资源）
}